import request from '@/config/axios'

// 物资储备->合同协议 VO
export interface ContractVO {
  id: number // 合同ID
  contractNo: string // 合同编号
  contractName: string // 合同名称
  supplierId: number // 供应商ID
  contractType: number // 合同类型(1-框架协议 2-长期供货 3-应急储备 4-专项储备)
  startDate: Date // 合同开始日期
  endDate: Date // 合同结束日期
  renewalRemindDays: number // 续约提前提醒天数
  minReserveQuantity: number // 最小储备量
  maxReserveQuantity: number // 最大储备量
  deliveryCycle: number // 补货周期(天)
  qualityStandard: string // 质量标准要求
  priceTerms: string // 价格条款
  paymentTerms: string // 付款条件
  penaltyTerms: string // 违约条款
  storageRequirements: string // 特殊存储要求
  emergencyResponse: string // 应急响应条款
  attachmentPath: string // 合同附件路径
  status: string // 状态(0-生效中 1-已到期 2-即将到期 3-已终止 4-暂停中)
  remark: string // 备注
}

// 物资储备->合同协议 API
export const ContractApi = {
  // 查询物资储备->合同协议分页
  getContractPage: async (params: any) => {
    return await request.get({ url: `/wms/contract/page`, params })
  },

  // 查询物资储备->合同协议详情
  getContract: async (id: number) => {
    return await request.get({ url: `/wms/contract/get?id=${id}` })
  },

  // 新增物资储备->合同协议
  createContract: async (data: ContractVO) => {
    return await request.post({ url: `/wms/contract/create`, data })
  },

  // 修改物资储备->合同协议
  updateContract: async (data: ContractVO) => {
    return await request.put({ url: `/wms/contract/update`, data })
  },

  // 删除物资储备->合同协议
  deleteContract: async (id: number) => {
    return await request.delete({ url: `/wms/contract/delete?id=${id}` })
  },

  // 导出物资储备->合同协议 Excel
  exportContract: async (params) => {
    return await request.download({ url: `/wms/contract/export-excel`, params })
  },
}
